package negocios;

import java.sql.SQLException;
import java.util.List;

import classes.Funcionario;
import dao.IFuncionarioDAO;
import excecao.FuncionarioExistenteException;
import excecao.FuncionarioInexistenteException;
import factory.FactoryDAO;

/**
 * @author EricSamp
 *
 */
	
public class CadastroFuncionario {
	private IFuncionarioDAO funcionarioDAO;

	// construtor
	public CadastroFuncionario(){
		this.funcionarioDAO = FactoryDAO.getFuncionarioDAOImpl();
	}	


	public void atualizar(Funcionario func) throws SQLException, ClassNotFoundException, FuncionarioInexistenteException{
		funcionarioDAO.atualizar(func);
	}

	public void cadastrarFuncionario(Funcionario func) throws SQLException, ClassNotFoundException, FuncionarioExistenteException{
		funcionarioDAO.inserir(func);
	}

	public Funcionario consultarFuncionario(long id) throws SQLException, ClassNotFoundException, FuncionarioInexistenteException{
		Funcionario funcioanrio_encontrado = funcionarioDAO.consultarPorId(id);			
		return funcioanrio_encontrado;
	}

	public List<Funcionario> consultarTodos() {
		return funcionarioDAO.consultarTodos();
	}

	public void descadastrarFuncionario(long id) throws SQLException, ClassNotFoundException, FuncionarioInexistenteException{
		funcionarioDAO.remover(id);
		
	}
	
	

	
	
	
}
